Page({ 
  data: { 
    goodsDetails: { 
      title: "", // 商品标题
      title2: "", // 商品副标题
      price: "0.00", // 商品价格
      image: "" // 商品图片
    }, 
    quantity: 1, 
    selectedSpec: 'black' // 默认选中黑色
  }, 
  onLoad(options) { 
    // 从页面跳转时传递的参数中获取商品id
    const goodsId = options.id;
    // 根据商品id从预定义的商品数据中获取商品详情
    const goodsDetail = this.getGoodsDetailById(goodsId);
    // 将获取到的商品详情数据设置到页面的data中
    if (goodsDetail) {
      this.setData({
        goodsDetails: goodsDetail
      });
    } else {
      // 如果没有找到商品详情，提示用户
      wx.showToast({
        title: '商品详情未找到',
        icon: 'none'
      });
    }
  }, 
  // 根据商品id获取商品详情数据
  getGoodsDetailById(id) {
    const goodsData = [
      { 
        id: "0", 
        title: "赫柏林", 
        title2: "Perles珍珠系列", 
        price: "26976", 
        image: "/image/02.jpg"
      }, 
      { 
        id: "1", 
        title: "爱宝时", 
        title2: "Artistry艺术系列", 
        price: "34645", 
        image: "/image/03.jpg" 
      }, 
      { 
        id: "2", 
        title: "东方星", 
        title2: "大师系列", 
        price: "53332", 
        image: "/image/04.jpg" 
      }, 
      { 
        id: "3", 
        title: "爱宝时", 
        title2: "Timeless永恒系列", 
        price: "18222", 
        image: "/image/05.jpg"
      }
    ];
    // 查找匹配的商品详情
    for (let i = 0; i < goodsData.length; i++) {
      if (goodsData[i].id === id) {
        return goodsData[i];
      }
    }
    // 如果没有找到匹配的商品，返回null
    return null;
  }, 
  // 添加规格选择变化处理
  onSpecChange(e) { 
    const spec = e.currentTarget.dataset.spec; 
    this.setData({ 
      selectedSpec: spec 
    }); 
  }, 
  // 添加数量变化处理
  onQuantityChange(e) {
    this.setData({
      quantity: e.detail
    });
  },
  onAddToCart() {
    // 检查用户是否登录
    const userInfo = wx.getStorageSync('userInfo') || {};
    if (!userInfo.nickName) {
      wx.showToast({ title: '未登录，请登录', icon: 'none' });
      return;
    }
    // 获取当前商品信息
    const goods = this.data.goodsDetails;
    // 获取购物车已有商品
    let cartItems = wx.getStorageSync('cartItems') || [];
    // 检查商品是否已存在于购物车，同时考虑规格
    const existingItemIndex = cartItems.findIndex(item => item.id === goods.id && item.spec === this.data.selectedSpec);
    if (existingItemIndex !== -1) {
        // 商品已存在，增加数量
        cartItems[existingItemIndex].number += this.data.quantity;
    } else {
        // 商品不存在，添加新商品，包含规格信息
        cartItems.push({...goods, number: this.data.quantity, spec: this.data.selectedSpec });
    }
    // 更新本地缓存
    wx.setStorageSync('cartItems', cartItems);
    wx.showToast({
        title: '已添加到购物车',
        icon: 'success'
    });
},
  onBuyNow() { 
    // 检查用户是否登录
    const userInfo = wx.getStorageSync('userInfo') || {}; 
    if (!userInfo.nickName) { 
      wx.showToast({ title: '未登录，请登录', icon: 'none' }); 
      return; 
    } 
    
    // 获取当前商品信息
    const goods = this.data.goodsDetails;
    const orderInfo = {
      totalPrice: (goods.price * this.data.quantity).toFixed(2),
      goodsList: [{
        ...goods,
        number: this.data.quantity,
        spec: this.data.selectedSpec
      }]
    };
    
    // 跳转到确认订单页面并传递订单信息
    wx.navigateTo({
      url: `/pages/confirmOrder/confirmOrder?orderInfo=${encodeURIComponent(JSON.stringify(orderInfo))}`
    });
  },
  onClickButton(e) {
    console.log(e)
    const targetText = e.currentTarget.dataset.text;
    switch (targetText) {
      case '购物车':
        wx.switchTab({ url: '/pages/cart/cart' });
        break;
      case '加入购物车':
        this.onAddToCart();
        break;
      case '立即购买':
        this.onBuyNow();
        break;
      default:
        break;
    }
  }
});